home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / More Source / C⁄C++ / Xconq 7.0d37 / source / lib / napoleon.g < prev    next >
Text File  |  1995-02-01  |  9KB  |  372 lines

  1. (game-module "napoleon"
  2.   (title "Napoleon")
  3.   (blurb "definitions for the Napoleonic wars")
  4.   (variants
  5.    (see-all true)
  6.    (world-seen true)
  7.    (world-size)
  8.    ("Winds" winds
  9.     (true
  10.      (add t* wind-force-min 1)
  11.      (add t* wind-force-average 1)
  12.      (add t* wind-force-max 4)
  13.      (add t* wind-force-variability 50.00)
  14.      (add t* wind-variability 50.00)
  15.      ))
  16.    ("Scoring" scoring
  17.      (true
  18.        (add places point-value (0 5 25))
  19.        (scorekeeper (do last-side-wins))
  20.        ))
  21.    )
  22. )
  23.  
  24. (unit-type inf (name "infantry") (image-name "soldiers")
  25.   (help "the backbone of the army"))
  26. (unit-type guards (image-name "soldiers")
  27.   (help "the elite of the army"))
  28. (unit-type cav (name "cavalry") (image-name "cavalry")
  29.   (help "zips around for shock effect"))
  30. (unit-type ldr (name "leader") (image-name "flag")
  31.   (help "controls the movements of land forces"))
  32. (unit-type transport (image-name "brig")
  33.   (help "how armies get across water"))
  34. (unit-type frigate (image-name "frigate")
  35.   (help "the eyes of the fleet"))
  36. (unit-type fleet (image-name "twodecker")
  37.   (help "a full line of battle fleet"))
  38. (unit-type balloon (image-name "balloon")
  39.   (help "fragile but good for reconnaissance"))
  40. (unit-type / (name "entrenchments") (image-name "camp")
  41.   (help "temporary protection for armies"))
  42. (unit-type city (name "city") (image-name "town20")
  43.   (help "a typical city"))
  44. (unit-type capital (name "capital") (image-name "city18")
  45.   (help "the major city of a country"))
  46.  
  47. (material-type food)
  48. (material-type shot)
  49.  
  50. (terrain-type sea
  51.   (color "sky blue") (image-name "sea") (char ".")
  52.   (help "deep ocean"))
  53. (terrain-type shallows
  54.   (color "cyan") (image-name "shallows") (char ",")
  55.   (help "coastal waters and lakes"))
  56. (terrain-type swamp
  57.   (color "yellow green") (image-name "swamp") (char "=")
  58.   )
  59. (terrain-type desert
  60.   (color "yellow") (image-name "desert") (char "~")
  61.   )
  62. (terrain-type plains
  63.   (color "green") (image-name "plains") (char "+")
  64.   )
  65. (terrain-type forest
  66.   (color "forest green") (image-name "forest") (char "%")
  67.   )
  68. (terrain-type mountains
  69.   (color "sienna") (image-name "mountains") (char "^")
  70.   )
  71.  
  72. (define land-t* (desert plains forest mountains))
  73.  
  74. (define cell-t* (sea shallows swamp desert plains forest mountains))
  75.  
  76. (terrain-type road
  77.   (color "gray") (char ">")
  78.   (subtype connection) (subtype-x road-x))
  79.  
  80. (terrain-type river
  81.   (color "blue") (char "<")
  82.   (subtype border) (subtype-x river-x))
  83.  
  84. (terrain-type snow
  85.   (color "white")
  86.   (subtype coating))
  87.  
  88. (add t* elevation-min -100)
  89. (add t* elevation-max 2000)
  90. (add (sea shallows swamp) elevation-min 0)
  91. (add (sea shallows swamp) elevation-max (0 0 10))
  92. (add (mountains) elevation-min 2000)
  93. (add (mountains) elevation-max 9000)
  94.  
  95. (area (cell-width 50000))
  96.  
  97. (add (sea shallows snow) liquid true)
  98.  
  99. #|
  100. ;;; Some defns for the fractal percentile generator.
  101.  
  102. (set alt-blob-density 10000)
  103. (set alt-blob-height 500)
  104. (set alt-blob-size 200)
  105. (set alt-smoothing 4)
  106. (set wet-blob-density 2000)
  107. (set wet-blob-size 100)
  108.  
  109. |#
  110.  
  111. ;;; River generation.
  112.  
  113. ;; Rivers are most likely to start in the mountains or forests.
  114.  
  115. (add (plains forest mountains) river-chance (20.00 30.00 30.00))
  116.  
  117. ;; Rivers empty into lakes if they don't reach the sea.
  118.  
  119. (set river-sink-terrain shallows)
  120.  
  121. ;;; Road generation.
  122.  
  123. (table road-into-chance
  124.   (land-t* land-t* 100)
  125.   ;; Try to get a road back out into the plains.
  126.   (cell-t* plains 100)
  127.   ;; Be reluctant to run through hostile terrain.
  128.   (plains (desert forest mountains) (40 30 20))
  129.   )
  130.  
  131. ;(set edge-terrain ice)
  132.  
  133. (define water (sea shallows))
  134. (define land (plains desert forest mountains))
  135.  
  136. (define army-types (inf guards))
  137. (define land-forces (inf guards cav))
  138.  
  139. (define ships (transport frigate fleet))
  140.  
  141. (define movers (append land-forces ldr ships balloon))
  142.  
  143. (define places (/ city capital))
  144.  
  145. ;;; Temperature characteristics of terrain.
  146.  
  147. (add t* temperature-min -20)
  148. (add water temperature-min 0)
  149. (add desert temperature-min 0)
  150.  
  151. (add t* temperature-max 30)
  152. (add desert temperature-max 50)
  153. (add mountains temperature-max 20)
  154.  
  155. (add t* temperature-average 20)
  156.  
  157. (add land temperature-variability 5)
  158.  
  159. (add u* already-seen true)
  160.  
  161. ;;; Static relationships.
  162.  
  163. ;;; Unit-unit capacities.
  164.  
  165. (table unit-capacity-x
  166.   ;; Armies can have only one commander.
  167.   ((inf guards) ldr 1)
  168.   ;; (how can leaders carry others as subordinates?)
  169.   )
  170.  
  171. (table unit-size-as-occupant
  172.   ;; Disable occupancy normally.
  173.   (u* u* 99)
  174.   (land-forces (transport fleet) 1)
  175.   (ldr u* 1)
  176.   (movers (city capital) 1)
  177.   )
  178.  
  179. (add (transport fleet / city capital) capacity (4 2 10 80 80))
  180.  
  181. (table occupant-max
  182.   (u* u* 99)
  183.   )
  184.  
  185. ;;; Unit-terrain interaction.
  186.  
  187. (table vanishes-on
  188.   (land-forces sea true)
  189.   (ships land true)
  190.   (places sea true)
  191.   )
  192.  
  193. ;;; Unit-terrain capacities.
  194.  
  195. ;; Allow effectively infinite capacity everywhere.
  196.  
  197. (table unit-size-in-terrain
  198.   (u* t* 1)
  199.   )
  200.  
  201. (add t* capacity 100)
  202.  
  203. ;;; Actions.
  204.  
  205. (add u* acp-per-turn (1 1 3 10 2 5 3 5 0 1 1))
  206. ;; capitals should be more capable?
  207.  
  208. (table acp-occupant-effect
  209.   (ldr inf 800)
  210.   (ldr guards 1000)
  211.   )
  212.  
  213. ;;; Movement.
  214.  
  215. (add places speed 0)
  216.  
  217. (table mp-to-enter-terrain
  218.   (u* t* 1)
  219.   (land-forces sea 99)
  220.   ;; Cavalry is slower in rough terrain.
  221.   (cav (forest mountains) 2)
  222.   ;; Leaders move about as fast as a frigate, when at sea.
  223.   (ldr (sea shallows) 2)
  224.   ;; Leaders are also slower in the mountains.
  225.   (ldr (mountains) 2)
  226.   (ships land 99)
  227.   ;; (no effect for shallows, ships were small then)
  228.   )
  229.  
  230. ;;; Construction.
  231.  
  232. (add u* cp (20 40 8 12 10 20 40 4 1 1 1))
  233.  
  234. (table acp-to-create
  235.   (army-types / 1)
  236.   ((city capital) movers 1)
  237.   (city balloon 0)  ; only let capitals build balloons
  238.   )
  239.  
  240. (table cp-on-creation
  241.   (army-types / 1)
  242.   ((city capital) movers 1)
  243. )
  244.  
  245. (table acp-to-build
  246.   ((city capital) movers 1)
  247.   (city balloon 0)  ; only let capitals build balloons
  248.   )
  249.  
  250. (table cp-per-build
  251.   ((city capital) movers 1)
  252.   )
  253.  
  254. ;;; (ships should need lots of tooling up to build)
  255.  
  256. ;;; Cities can repair anything.
  257.  
  258. (table acp-to-repair
  259.   ((city capital) u* 1)
  260.   )
  261.  
  262. ;;; Navy ships can repair themselves automatically.
  263.  
  264. (add (frigate fleet) hp-recovery 1)
  265.  
  266. ;1 food land-forces produce
  267. ;1 food / produce
  268. ;10 [ food shot ] [ city capital ] produce
  269. ;100 [ plains forest ] land-forces productivity
  270. ;100 [ plains forest mountains ] / productivity
  271. ;0 desert / productivity
  272. ;100 plains [ city capital ] productivity
  273. ;70 [ forest mountains ] [ city capital ] productivity
  274. ;30 desert [ city capital ] productivity
  275. ;[ 4 10  4 300 300 300  0 10 500 1000 ] food u* storage
  276. ;[ 1  0 30  30  30  50  0 100 200 400 ] shot u* storage
  277. ;1 food land-forces consume
  278. ;1 food ships consume
  279. ;-1 r* land-forces out-length
  280.  
  281. ;;; Combat.
  282.  
  283. (add u* hp-max (10 10 2 1 3 6 1 1 10 20 40))
  284.  
  285. (add army-types parts-max 10)
  286.  
  287. (table hit-chance
  288.   (u* u* 50)
  289.   ;; Leaders should never expose themselves to combat directly.
  290.   (u* ldr 90)
  291.   (ldr u* 0)
  292.   ;; Balloons are somewhat protected by their altitude.
  293.   (u* balloon 50)
  294.   (balloon u* 0)
  295.   )
  296.  
  297. (table damage
  298.   (u* u* 1)
  299.   (fleet u* 3)
  300.   )
  301.  
  302. (table capture-chance
  303.   (army-types city (20 30))
  304.   (army-types capital (10 15))
  305.   )
  306.  
  307. ;; Scuttling and disbanding was easy in those days.
  308.  
  309. (add movers acp-to-disband 1)
  310.  
  311. ;; Armies can grow and shrink easily.
  312.  
  313. (add army-types acp-to-transfer-part 1)
  314.  
  315. ;;; Environmental effects.
  316.  
  317. (add land-forces survival-zone-min -30)
  318. (add land-forces comfort-zone-min    5)
  319. (add land-forces comfort-zone-max   30)
  320. (add land-forces survival-zone-max  50)
  321.  
  322. ;;; The major participants.
  323.  
  324. (set side-library '(
  325.   ((name "France") (adjective "French"))
  326.   ((name "England") (adjective "English"))
  327.   ((name "Spain") (adjective "Spanish"))
  328.   ((name "Austria") (adjective "Austrian"))
  329.   ((name "Prussia") (adjective "Prussian"))
  330.   ((name "Russia") (adjective "Russian"))
  331.   ))
  332.  
  333. (world 1000 (year-length 12))
  334.  
  335. ;(area 60 30)
  336.  
  337. (set calendar '(usual "month"))
  338.  
  339. ;; (should be for all types, but list property interp is lame)
  340.  
  341. (add frigate acp-season-effect '((0 25) (2 100)))
  342.  
  343. ;;; Random setup stuff.  Irrelevant for a historical game, but helpful for testing.
  344.  
  345. (add cell-t* alt-percentile-min (  0  50  50  51  51  51  95))
  346. (add cell-t* alt-percentile-max ( 50  51  51  95  95  95 100))
  347. (add cell-t* wet-percentile-min (  0   0  50   0  10  90   0))
  348. (add cell-t* wet-percentile-max (100 100 100  10  90 100 100))
  349.  
  350. (add plains country-terrain-min 7)
  351. (set country-radius-min 3)
  352. (set country-separation-min 8)
  353.  
  354. (add (city capital) start-with (5 1))
  355.  
  356. ;(add city independent-density 1000)
  357.  
  358. (table favored-terrain add
  359.   (u* t* 0)
  360.   ((city capital) plains 100)
  361.   )
  362.  
  363. (game-module (notes "player notes here"
  364.   ))
  365.  
  366. (game-module (design-notes (
  367.   "Map scale is 50 km/hex, game time is 1 month/turn."
  368.   ""
  369.   "Balloons are more fun than realistic."
  370.   )))
  371.  
  372.